From: Florian Müllner Date: Tue, 14 Mar 2023 11:57:43 +0000 (+0100) Subject: extensionSystem: Fix extension reloading X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~371^2^2~93 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=0b8114ba523f2dcf455beb75196e1ef2059a5f3f;p=gnome-shell.git extensionSystem: Fix extension reloading Unloading an extension has become an async operation, but we aren't awaiting the result. That means that we recreate the extension object *before* we remove the "old" extension object from the map, with the effect that the reloaded extension is removed completely. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6507 Part-of: --- diff --git a/js/ui/extensionSystem.js b/js/ui/extensionSystem.js index 4cdaa3dad..d9cdf77e4 100644 --- a/js/ui/extensionSystem.js +++ b/js/ui/extensionSystem.js @@ -432,7 +432,7 @@ var ExtensionManager = class extends Signals.EventEmitter { let { uuid, dir, type } = oldExtension; // Then unload the old extension. - this.unloadExtension(oldExtension); + await this.unloadExtension(oldExtension); // Now, recreate the extension and load it. let newExtension;